#淘宝好像跟腾讯一样做了处理，估计得后面才能爬
#京东图片爬虫实战

#利用word+浏览器上直接上除部分网址→→分析网址规律
#复制图片地址，(可能需要删除前缀和后缀，找id！！！！！)在源文件种找到位置，分析规律，得出正则表达式
#图片的大小在地址种好像没有，删不掉

import urllib.request
import re
import random

#用户代理池构建
uapools=[
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",#谷歌浏览器
    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.5514.400 QQBrowser/10.1.1614.400",#QQ浏览器
    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko",#IE浏览器
    #好像同一个浏览器的不同模式（搜狗的兼容模式）使用的用户代理也不一样
    #百度搜一下也可以找到别的用户代理地址
]

def ua(random_uapools):
    this_ua=random.choice(random_uapools)
    print(this_ua)
    headers = ("User-Agent",this_ua)
    opener = urllib.request.build_opener()
    opener.addheaders = [headers]
    #安装为全局
    urllib.request.install_opener(opener)

keyword = "男装"
key = urllib.request.quote(keyword)
for page in range(1,4+1):
    url = "https://search.jd.com/Search?keyword=" + key + "&enc=utf-8&page=" + str(page*2-1)
    ua(uapools)
    data=urllib.request.urlopen(url).read().decode("utf-8","ignore")
    pat = 'source-data-lazy-img="//(.*?)" />'
    all_img = re.compile(pat).findall(data)
    for i in range(len(all_img)):
        this_img = all_img[i]
        this_img_url = "http://" + this_img
        #设置本地存储地址
        localfile = "C:\\Users\\DELL\\Desktop\\python操作文件夹\\图片爬虫实战\\第" + str(page) + "页第" + str(i) + "张.jpg"
        urllib.request.urlretrieve(this_img_url,filename=localfile)

